() ? :
三元運算符是一種特殊的條件運算符,可以用來簡化邏輯,精簡程式碼。(
Condition)
?
a :
b
Condition若為 真True(非0), 則返回a;
Condition若為 假False(0),則返回b
程式碼
#include <stdio.h>
int maximum(int x, int y, int z){
int max = x; //假定x為最大,最大值變數設為max
//運用三元運算符?:
max = (y > max) ? y : max; //if y > max, max被賦予y值,否的話max還是為x
max = (z > max) ? z : max; //if z > max, max被賦予z值,否的話max可能是x or y(看前式比較結果)
return max; //將最大值傳回呼叫來源處,也就是main()函數下的max = maximum()
}
int main(void){
int num1, num2, num3, max;
printf("請輸入 3 個要比較大小的數字:\n");
scanf("%d %d %d", &num1, &num2, &num3);
//呼叫maximum函數並將傳回的最大值max儲存在max變數中
max = maximum(num1, num2, num3);
printf("最大值: %d \n", max);
return 0;
}
結果
參考來源:條件運算子